1
Leçon 3 : Introduction à la classification non linéaire
EvoClass-AI002Conférence 3
00:00

Nous dépassons les limites des modèles linéaires, qui peinent à classer les données non séparables par une droite. Aujourd'hui, nous appliquons le flux de travail PyTorch pour construire un réseau de neurones profond (DNN) capable d'apprendre frontières de décision complexes et non linéairesessentielles pour les tâches de classification du monde réel.

1. Visualisation de la nécessité des données non linéaires

Notre première étape consiste à créer un jeu de données synthétiques exigeant, comme la distribution en deux lunes, afin de montrer visuellement pourquoi les modèles linéaires simples échouent. Ce cadre nous oblige à utiliser des architectures profondes pour approximer la courbe complexe nécessaire séparant les classes.

Propriétés des données

  • Structure des données :Caractéristiques de données synthétiques (par exemple, $1000 \times 2$ pour $1000$ échantillons avec 2 caractéristiques).
  • Type de sortie :Une valeur de probabilité unique, souvent torch.float32, représentant l'appartenance à une classe.
  • Objectif : Créer une frontière de décision incurvée grâce au calcul en couches.
La puissance des activations non linéaires
Le principe fondamental des DNN est l'introduction de non-linéarité dans les couches cachées à travers des fonctions comme ReLU. Sans ces fonctions, empiler des couches ne produirait qu'un grand modèle linéaire, quelle que soit la profondeur.
data_setup.py
TERMINALbash — environnement-classification
> Prêt. Cliquez sur "Exécuter" pour démarrer.
>
Inspecteur de tenseurs En direct

Exécutez le code pour inspecter les tenseurs actifs
Question 1
Quel est le but principal de la fonction d'activation ReLU dans une couche cachée ?
Introduire de la non-linéarité pour permettre aux architectures profondes de modéliser des courbes
Accélérer la multiplication matricielle
Assurer que la sortie reste entre 0 et 1
Normaliser la sortie de la couche vers une moyenne nulle
Question 2
Quelle fonction d'activation est requise dans la sortiecouche pour une tâche de classification binaire ?
Sigmoid
Softmax
ReLU
Question 3
Quelle fonction de perte correspond directement à un problème de classification binaire utilisant une sortie sigmoïde ?
Perte de croisement binaire (BCE)
Erreur quadratique moyenne (MSE)
Perte de croisement (Cross Entropy)
Défi : Conception de l'architecture centrale
Intégration des composants architecturaux pour l'apprentissage non linéaire.
Vous devez construire un nn.Module pour la tâche en deux lunes. Caractéristiques d'entrée : 2. Classes de sortie : 1 (probabilité).
Étape 1
Décrivez le flux de calcul pour une seule couche cachée dans ce DNN.
Solution :
Entrée $\to$ Couche linéaire (matrice de poids) $\to$ Activation ReLU $\to$ Sortie vers la couche suivante.
Étape 2
Quelle doit être la taille de la dernière couche si la forme d'entrée est $(N, 2)$ et que nous utilisons une perte BCE ?
Solution :
La couche de sortie doit avoir une taille de $(N, 1)$ pour produire une note de probabilité unique par échantillon, correspondant à la forme de l'étiquette.